package ru.assa.signalka;

import java.util.ArrayList;

import ru.assa.signalka.SettingsActivity.SettingItem;

import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.ResultReceiver;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.TextView;

public class BoxAdapter extends BaseAdapter {
  Context ctx;
  LayoutInflater lInflater;
  ArrayList<SettingItem> objects;

 
  BoxAdapter(Context context, ArrayList<SettingItem> products) {
    ctx = context;
    objects = products;
    lInflater = (LayoutInflater) ctx
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  }

  // кол-во элементов
  
  public int getCount() {
    return objects.size();
  }

  // элемент по позиции
  
  public SettingItem getItem(int position) {
    return objects.get(position);
  }

  // id по позиции
  
  public long getItemId(int position) {
    return position;
  }

  // пункт списка
  
  public View getView(int position, View convertView, ViewGroup parent) {
    // используем созданные, но не используемые view
	String TAG="BoxAdapter getView";
    View view = convertView;
    if (view == null) {
      view = lInflater.inflate(R.layout.set_item, parent, false);
    }

    SettingItem p = getItem(position);

    // заполняем View в пункте списка данными из товаров: наименование, цена
    // и картинка
    ((TextView) view.findViewById(R.id.cbChecked)).setText(p.name);
    ((TextView) view.findViewById(R.id.tvText)).setText(p.description);
    ((ImageView) view.findViewById(R.id.ivImg)).setImageResource(p.icon);

    CheckBox cbBuy = (CheckBox) view.findViewById(R.id.cbChecked);
    // присваиваем чекбоксу обработчик
    cbBuy.setOnCheckedChangeListener(myCheckChangList);
    // пишем позицию
    cbBuy.setTag(position);
    // заполняем данными из товаров: в корзине или нет
    cbBuy.setClickable(p.checking);
    cbBuy.setPressed(! p.checking);
    cbBuy.setChecked(p.check);
    return view;
  }


  // обработчик для чекбоксов
  OnCheckedChangeListener myCheckChangList = new OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView,
        boolean isChecked) {
      // меняем данные товара (в корзине или нет)
 //   	Log.d("ЛИСТЕНЕР", buttonView.getTag().toString());
    	Log.d("ЛИСТЕНЕР", getItem((Integer) buttonView.getTag()).name  + " чек " + isChecked) ;
    	if ( getItem((Integer) buttonView.getTag()).check != isChecked ) {
        	getItem((Integer) buttonView.getTag()).getCheck();
    	}
    	notifyDataSetChanged();
//    	buttonView.setChecked(false);
//      buttonView.setPressed(true);
//    	buttonView.setClickable(false);
//      getProduct((Integer) buttonView.getTag()).box = isChecked;
    }
  };
  

}